/*
 * Created on 2005-5-14
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package com.haoxi.gateway.runner;

import com.haoxi.gateway.common.ListQueue;
import com.haoxi.gateway.common.Queue;


/**
 * @author Cloud
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class QueueMgr {
    
    private static QueueMgr instance;
    
    //receive queue
    private static Queue reciveQueue = new ListQueue(1024, "reciveQueue");
    
    //message queue
    private static Queue userMOQueue = new ListQueue(1024, "userMOQueue");          //from reciveQueue
    private static Queue submitStatusQueue = new ListQueue(1024, "submitStatusQueue");  //from reciveQueue
    private static Queue submitReportQueue = new ListQueue(1024, "submitReportQueue");  //from reciveQueue
    
   
    //send queue
    private static Queue submitMTQueue = new ListQueue(1024, "submitMTQueue");
    
    //  send queue
    private static Queue submitRespQueue = new ListQueue(1024, "submitRespQueue");
    
    private QueueMgr() {}
    
    public static synchronized QueueMgr getInstance() {
        if(instance == null) {
            instance = new QueueMgr();
        }
        return instance;
    }
    
    /**
     * get MO Queue
     * @return
     */
    public Queue getUserMOQueue() {
        return userMOQueue;
    }
    
    /**
     * get submit status Queue
     * @return
     */
    public Queue getSubmitStatusQueue() {
        return submitStatusQueue;
    }
    
    /**
     * get submit status Queue
     * @return
     */
    public Queue getSubmitReportQueue() {
        return submitReportQueue;
    }
    
    public Queue getReciveQueue() {
        return reciveQueue;
    }

    /**
     * @return Returns the submitMTQueue.
     */
    public Queue getSubmitMTQueue() {
        return submitMTQueue;
    }

    /**
     * @return Returns the submitRespQueue.
     */
    public Queue getSubmitRespQueue() {
        return submitRespQueue;
    }
   
}
